Fetch Scenario and Action Activity History

Fetches the activity history of Scenarios and Actions in a project using a stateless cursor-based approach. Designed for clients who need to track every create, update and delete operation on Scenarios and Actions, without missing or duplicating records.

Call patterns

Initial call (no cursor)

Omit the cursor field and supply the filters. activityAfter, activityBefore, entityTypes and activityTypes are required. The server returns the first page of activity within the date range and freezes the filters into an opaque cursor token returned as nextCursor.

Subsequent calls (with cursor)

Pass only the cursor field from the previous response's nextCursor. Do not include any filters or dates; they are already frozen inside the cursor. To change filters, make a fresh initial call without a cursor.

Polling

  • hasMore: true — a full page was returned. Call again immediately with nextCursor to retrieve the next page.
  • hasMore: false — all matching activity has been delivered.
  • Retrieving newer activity — activity recorded after the initial call is not included in the current cursor. To retrieve recent activity, make a fresh initial call.

Request fields

  • actorEmails (optional) — list of email addresses of the users whose activity is to be retrieved. Matching is case-insensitive. If omitted or empty, activity of all users is returned. Email addresses that do not match any user return no records.
  • entityTypes (required) — list of entity types to include. Supported values: ACTION, AUTO_SCENARIO, MANUAL_SCENARIO.
  • activityTypes (required) — list of activity types to include. Supported values: CREATE, UPDATE, DELETE. Check-in, check-out and changes to entity are reported as UPDATE.
  • activityAfter (required) — start of the time range (inclusive). Refer to the Date rules section.
  • activityBefore (required) — end of the time range (exclusive). Refer to the Date rules section.
  • limit (optional) — maximum number of records per page. Defaults to 100; values above 1000 are reduced to 1000.
  • cursor — the nextCursor value from the previous response. Omit on the initial call. When a cursor is sent, all other fields must be omitted.

Date rules

  • Accepted format: ISO 8601 with an explicit UTC offset, e.g. 2026-06-01T00:00:00Z.
  • activityAfter is inclusive; activityBefore is exclusive.
  • activityAfter cannot be in the future.
  • activityAfter cannot be older than 1 year.
  • If activityBefore is in the future, it is silently clamped to now.
  • activityBefore must be after activityAfter (after clamping).
  • The window between activityAfter and activityBefore must not exceed 90 days.

Ordering and safe upper bound

Results are returned in descending order of when they were recorded, most recent first. A 5-second lag is applied to the upper time bound so that in-flight transactions have time to commit before they are read, preventing gaps in the results.

Access

Tenant admins and users with a role in the project can access this API.

POST{accelqLoginUrl}/awb/api/2.0/{tenantCode}/{projectCode}/res/activity-logs

Headers

HeaderValue
user_idLogin username (email)
api_keyAPI key of the user for authentication
Content-Typeapplication/json
Acceptapplication/json

Parameters

ParameterTypeRequiredDescription
accelqLoginUrlstringYesThe AccelQ login URL for API access.
tenantCodestringYesTenant code for identifying the organization.
projectCodestringYesProject Code found under Auth properties of ACCELQ User Profile
user_idstringYesLogin username (email)
api_keystringYesAPI key of the user for authentication

Request Body

json
{
  "actorEmails": [
    "john.doe@company.com"
  ],
  "entityTypes": [
    "ACTION",
    "AUTO_SCENARIO",
    "MANUAL_SCENARIO"
  ],
  "activityTypes": [
    "CREATE",
    "UPDATE",
    "DELETE"
  ],
  "activityAfter": "2026-09-01T00:00:00Z",
  "activityBefore": "2026-09-30T00:00:00Z",
  "limit": 100
}

Responses

200 - Returns a page of activity records.

json
{
  "data": [
    {
      "actorEmail": "jane.smith@company.com",
      "activityTime": "2026-09-29T11:52:39Z",
      "activityType": "DELETE",
      "activityDescription": "Deleted",
      "entityType": "AUTO_SCENARIO",
      "entityId": 20871,
      "entityName": "Fund Transfer - Negative"
    },
    {
      "actorEmail": "john.doe@company.com",
      "activityTime": "2026-09-29T11:41:31Z",
      "activityType": "UPDATE",
      "activityDescription": "Input Parameter username created",
      "entityType": "ACTION",
      "entityId": 10452,
      "entityName": "Login to QBANK"
    },
    {
      "actorEmail": "john.doe@company.com",
      "activityTime": "2026-09-29T10:56:55Z",
      "activityType": "CREATE",
      "activityDescription": "Created",
      "entityType": "ACTION",
      "entityId": 10452,
      "entityName": "Login to QBANK"
    }
  ],
  "nextCursor": "eyJ2IjoxLCJsYXN0SWQiOjU4MjEyLCJmcm9tRXBvY2hNcyI6MTc5MDEyMTYwMDAwMCwidG9FcG9jaE1zIjoxNzkwNzI2NDAwMDAwLCJlbnRpdHlUeXBlcyI6WyJBQ1RJT04iLCJBVVRPX1NDRU5BUklPIiwiTUFOVUFMX1NDRU5BUklP5VHlwZXMiOlsiQ1JFQVRFIiwiVVBEQVRFIiwiREVMRVRFIl0sImxpbWl0IjoxMDB9",
  "hasMore": true
}

400 - Bad Request. Validation errors occurred.

json
{
  "error": "Missing required fields: activityAfter, activityBefore, entityTypes, activityTypes."
}

401 - Unauthorized - Invalid credentials or user does not have permission to fetch activity history.

json
{
  "message": "api_key and/or user_id missing"
}

404 - Project not found.

json
{
  "error": " Project with name ProjectCode not found "
}

cURL Command Builder

URL Parameters

Headers

Request Sample (cURL)

curl -X POST "${{accelqLoginUrl}}/awb/api/2.0/${{tenantCode}}/${{projectCode}}/res/activity-logs" \
  -H "user_id: ${{user_id}}" \
  -H "api_key: ${{api_key}}" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
  "actorEmails": [
    "john.doe@company.com"
  ],
  "entityTypes": [
    "ACTION",
    "AUTO_SCENARIO",
    "MANUAL_SCENARIO"
  ],
  "activityTypes": [
    "CREATE",
    "UPDATE",
    "DELETE"
  ],
  "activityAfter": "2026-09-01T00:00:00Z",
  "activityBefore": "2026-09-30T00:00:00Z",
  "limit": 100
}'